<appendix id="Styles">
<title>GPSBabel XCSV Style Files</title>
+
+<section id="styles_intro">
+<title>Introduction</title>
<para>
The format of an XCSV style file is quite simple and designed to be easily
implemented by non-programmers to handle "one-off" babel-ization of various
Where <whitespace> is a space, tab, spaces, tabs, etc... There should
be nothing before the directive. (i.e. not " DIRECTIVE VALUE")
</para>
+</section> <!-- intro -->
+
<section id="styles_internal_const">
<title>Internal Constants</title>
<para>
file simpler. They may or may not be used and are optional in most cases.
Note that only certain style file directives map these constants.
</para>
-<table id="internal_csv_constants">
-<title>Internal Constants for XCSV</title>
-<tgroup cols="2">
-<colspec colnum="2" colname="col2" align="center" />
-<thead>
-<row><entry>STYLE CONSTANT</entry> <entry> MAPS TO CHAR(s)</entry></row>
-</thead>
-<tbody>
-<row><entry>COMMA</entry> <entry>,</entry></row>
-<row><entry>COMMASPACE</entry> <entry>,<space></entry></row>
-<row><entry>SINGLEQUOTE</entry> <entry>'</entry></row>
-<row><entry>DOUBLEQUOTE</entry> <entry>"</entry></row>
-<row><entry>COLON</entry> <entry>:</entry></row>
-<row><entry>SEMICOLON</entry> <entry>;</entry></row>
-<row><entry>NEWLINE</entry> <entry>\n</entry></row>
-<row><entry>CR</entry> <entry>\r</entry></row>
-<row><entry>CRNEWLINE </entry> <entry>\r\n</entry></row>
-<row><entry>TAB </entry> <entry>\t</entry></row>
-<row><entry>SPACE </entry> <entry><space></entry></row>
-<row><entry>HASH </entry> <entry>#</entry></row>
-<row><entry>PIPE </entry> <entry>|</entry></row>
-<row><entry>WHITESPACE *** SEE WHITESPACE NOTES BELOW ***</entry></row>
-</tbody>
-</tgroup>
-</table>
-
+<para>
+<segmentedlist>
+<?dbhtml list-presentation="table"?>
+<segtitle>Style Constant</segtitle>
+<segtitle>Maps to Char(s)</segtitle>
+<seglistitem>
+<seg>COMMA</seg><seg>,</seg>
+</seglistitem>
+<seglistitem>
+<seg>COMMASPACE</seg><seg>,<space></seg>
+</seglistitem>
+<seglistitem>
+<seg>SINGLEQUOTE</seg><seg>'</seg>
+</seglistitem>
+<seglistitem>
+<seg>DOUBLEQUOTE</seg><seg>"</seg>
+</seglistitem>
+<seglistitem>
+<seg>COLON</seg><seg>:</seg>
+</seglistitem>
+<seglistitem>
+<seg>SEMICOLON</seg><seg>;</seg>
+</seglistitem>
+<seglistitem>
+<seg>NEWLINE</seg><seg>\n</seg>
+</seglistitem>
+<seglistitem>
+<seg>CR</seg><seg>\r</seg>
+</seglistitem>
+<seglistitem>
+<seg>CRNEWLINE</seg><seg>\r\n</seg>
+</seglistitem>
+<seglistitem>
+<seg>TAB</seg><seg>\t</seg>
+</seglistitem>
+<seglistitem>
+<seg>SPACE</seg><seg><space></seg>
+</seglistitem>
+<seglistitem>
+<seg>HASH</seg><seg>#</seg>
+</seglistitem>
+<seglistitem>
+<seg>PIPE</seg><seg>|</seg>
+</seglistitem>
+<seglistitem>
+<seg>WHITESPACE</seg><seg>see below</seg>
+</seglistitem>
+</segmentedlist>
+</para>
<section id="style_const_whitespace">
<title>WHITESPACE</title>
<para>
<para>
For example, the following line:
</para>
-<screen format="linespecific">
-SOME_NAME 30.1208 -91.1365 SOME OTHER NAME
+<screen format="linespecific">SOME_NAME 30.1208 -91.1365 SOME OTHER NAME
</screen>
<para>
Parses into the following data fields:
</para>
-<screen format="linespecific">
-SOME_NAME,30.1208,-91.1365,SOME,OTHER,NAME
+<screen format="linespecific">SOME_NAME,30.1208,-91.1365,SOME,OTHER,NAME
</screen>
</section>
<para>
Anything after a hash (#) on a line is not parsed. For example:
</para>
-<screen format="linespecific">
-#THIS ENTIRE LINE IS A COMMENT.
+<screen format="linespecific">#THIS ENTIRE LINE IS A COMMENT.
#FIELD LAT_DECIMAL, "", "%f" THIS ENTIRE LINE IS A COMMENT
FIELD LAT_DECIMAL, "", "%f" # ONLY THIS SENTENCE IS A COMMENT.
</screen>
Describes the character set used by this format. The value given
must be one listed by 'gpsbabel -l'. example:
</para>
-<screen format="linespecific">
- ENCODING UTF-8 # Use UTF-8 for input and output.
+<screen format="linespecific"> ENCODING UTF-8 # Use UTF-8 for input and output.
</screen>
</section>
</section> <!-- global -->
<para>
example:
</para>
-<screen format="linespecific">
- SHORTLEN 16 # shortnames will be at most 16 characters long.
+<screen format="linespecific"> SHORTLEN 16 # shortnames will be at most 16 characters long.
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- SHORTWHITE 0 # Do not allow whitespace in shortname.
+<screen format="linespecific"> SHORTWHITE 0 # Do not allow whitespace in shortname.
SHORTWHITE 1 # Allow whitespace in shortname.
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- FIELD_DELIMITER COMMA
+<screen format="linespecific"> FIELD_DELIMITER COMMA
FIELD_DELIMITER ~
</screen>
<para>
<para>
examples:
</para>
-<screen format="linespecific">
- RECORD_DELIMITER NEWLINE
+<screen format="linespecific"> RECORD_DELIMITER NEWLINE
RECORD_DELIMITER |
</screen>
<para>
<para>
examples:
</para>
-<screen format="linespecific">
- BADCHARS COMMA
+<screen format="linespecific"> BADCHARS COMMA
BADCHARS ~|
</screen>
<para>
<para>
examples:
</para>
-<screen format="linespecific">
- PROLOGUE OziExplorer Waypoint File Version 1.1
+<screen format="linespecific"> PROLOGUE OziExplorer Waypoint File Version 1.1
PROLOGUE WGS 84
PROLOGUE Symbol,Name,Latitude,Longitude
</screen>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD IGNORE,"","%14.14s" # (writes a 14 character blank field)
+<screen format="linespecific"> IFIELD IGNORE,"","%14.14s" # (writes a 14 character blank field)
IFIELD IGNORE,"","%s" # (writes a blank field on output)
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD CONSTANT,"FFFFFF","%s" # (writes "FFFFFF" in the field)
+<screen format="linespecific"> IFIELD CONSTANT,"FFFFFF","%s" # (writes "FFFFFF" in the field)
IFIELD CONSTANT,"01/01/70","%s" # (a constant date field)
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD INDEX,"0","%04d" # (Starts counting at zero)
+<screen format="linespecific"> IFIELD INDEX,"0","%04d" # (Starts counting at zero)
IFIELD INDEX,"","%04d" # (Starts counting at zero)
IFIELD INDEX,"1","%04d" # (Starts counting at one)
</screen>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD SHORTNAME,"","%s" # (write shortname in the output file)
+<screen format="linespecific"> IFIELD SHORTNAME,"","%s" # (write shortname in the output file)
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD DESCRIPTION,"","%s" # (write description in the output file)
+<screen format="linespecific"> IFIELD DESCRIPTION,"","%s" # (write description in the output file)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD URL,"","%s" # (writes the URL in the output file)
+<screen format="linespecific"> IFIELD URL,"","%s" # (writes the URL in the output file)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD URL_LINK_TEXT,"","%s" # (writes link text in the output file)
+<screen format="linespecific"> IFIELD URL_LINK_TEXT,"","%s" # (writes link text in the output file)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD ICON_DESCR,"","%s" # (writes link text in the output file)
+<screen format="linespecific"> IFIELD ICON_DESCR,"","%s" # (writes link text in the output file)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LAT_DECIMAL,"","%f"
+<screen format="linespecific"> IFIELD LAT_DECIMAL,"","%f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LAT_INT32DEG,"","%ld"
+<screen format="linespecific"> IFIELD LAT_INT32DEG,"","%ld"
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD LAT_DECIMALDIR,"","%f %c" # (writes 31.333 N)
+<screen format="linespecific"> IFIELD LAT_DECIMALDIR,"","%f %c" # (writes 31.333 N)
IFIELD LAT_DIRDECIMAL,"","%c %f" # (writes N 31.333)
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific">
- IFIELD LAT_HUMAN_READABLE,"","%c %d %f" # (writes N 31 40.000)
+<screen format="linespecific"> IFIELD LAT_HUMAN_READABLE,"","%c %d %f" # (writes N 31 40.000)
IFIELD LAT_HUMAN_READABLE,"","%d deg %f min %c"
# (writes "31 deg 40.000 min N")
# Note that this string will confuse the reading routine due
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LATLON_HUMAN_READABLE,"","%c %d %f"
+<screen format="linespecific"> IFIELD LATLON_HUMAN_READABLE,"","%c %d %f"
# (writes "N 31 40.126 W 85 09.62" as a single field)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LAT_NMEA, "%f", "%08.3f" # (writes 3558.322)
+<screen format="linespecific"> IFIELD LAT_NMEA, "%f", "%08.3f" # (writes 3558.322)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LON_NMEA, "%f", "%010.3f" # (writes -08708.082)
+<screen format="linespecific"> IFIELD LON_NMEA, "%f", "%010.3f" # (writes -08708.082)
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD ALT_FEET,"","%.0f"
+<screen format="linespecific"> IFIELD ALT_FEET,"","%.0f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD HEART_RATE,"","%d"
+<screen format="linespecific"> IFIELD HEART_RATE,"","%d"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD EXCEL_TIME,"","%11.5f"
+<screen format="linespecific"> IFIELD EXCEL_TIME,"","%11.5f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD TIMET_TIME,"","%ld"
+<screen format="linespecific"> IFIELD TIMET_TIME,"","%ld"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD YYYYMMDD_TIME,"","%ld"
+<screen format="linespecific"> IFIELD YYYYMMDD_TIME,"","%ld"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD GMT_TIME,"","%m/%d/%Y %I:%M:%D %p"
+<screen format="linespecific"> IFIELD GMT_TIME,"","%m/%d/%Y %I:%M:%D %p"
</screen>
<para>
Search the web for 'strptime man page' for details strptime, but one
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD LOCAL_TIME,"","%y-%m-%d"
+<screen format="linespecific"> IFIELD LOCAL_TIME,"","%y-%m-%d"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD HMSG_TIME,"","%d:%d:%d %s"
+<screen format="linespecific"> IFIELD HMSG_TIME,"","%d:%d:%d %s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD HMSL_TIME,"","%dh%dm"
+<screen format="linespecific"> IFIELD HMSL_TIME,"","%dh%dm"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD ISO_TIME,"","%s"
+<screen format="linespecific"> IFIELD ISO_TIME,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD GEOCACHE_DIFF,"","%3.1f"
+<screen format="linespecific"> IFIELD GEOCACHE_DIFF,"","%3.1f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- IFIELD GEOCACHE_TERR,"","%3.1f"
+<screen format="linespecific"> IFIELD GEOCACHE_TERR,"","%3.1f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GEOCACHE_CONTAINER,"","%s"
+<screen format="linespecific"> GEOCACHE_CONTAINER,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GEOCACHE_TYPE,"","%s"
+<screen format="linespecific"> GEOCACHE_TYPE,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GEOCACHE_PLACER,"","%s"
+<screen format="linespecific"> GEOCACHE_PLACER,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GEOCACHE_LAST_FOUND,"","%ld"
+<screen format="linespecific"> GEOCACHE_LAST_FOUND,"","%ld"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GEOCACHE_HINT,"","%s"
+<screen format="linespecific"> GEOCACHE_HINT,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- PATH_DISTANCE_MILES,"","%f"
+<screen format="linespecific"> PATH_DISTANCE_MILES,"","%f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- PATH_SPEED,"","%f"
+<screen format="linespecific"> PATH_SPEED,"","%f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- PATH_COURSE,"","%f"
+<screen format="linespecific"> PATH_COURSE,"","%f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GPS_HDOP,"","%f"
+<screen format="linespecific"> GPS_HDOP,"","%f"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GPS_SAT,"","%d"
+<screen format="linespecific"> GPS_SAT,"","%d"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific">
- GPS_FIX,"","%s"
+<screen format="linespecific"> GPS_FIX,"","%s"
</screen>
</section>
</section> <!-- definitions -->